Understanding the structure and properties of geological formations can reduce the cost of drilling wells for oil and gas exploration. In some cases, this understanding is assisted by simulating reservoir behavior, including the network of wells and facilities that access a particular reservoir.
In existing reservoir simulators, the network simulation is performed sequentially, i.e. only one processor solves the entire network, or all processors solve the same network redundantly. Prior to simulation, processors are assigned to one or more reservoir grid blocks (where each processor has a domain within the reservoir), and thereafter, the processors operate in parallel to solve the reservoir behavior equations using inter-processor communication techniques.
This approach raises a parallel scalability problem: when the number of processors increases, the CPU (central processing unit) time of individual processors and the elapsed time spent on reservoir grid computations decreases accordingly, but the overall CPU time for the network simulation stays relatively constant. As a result, the total CPU time (and therefore, the elapsed simulation time), is not scalable to any significant degree.